<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    // function Cat(name, sex) {
    //     this.name = name;
    //     this.sex = sex
    // }
    // let cat = new Cat("abc", "公")
    // console.log(cat) 
    function Parent() {
        this.sex = "n"
    }

    function Student(name, age) {
        this.name = name;
        this.age = age;
        this.method = Parent; // method作为一个临时的属性，并且指向Parent所指的对象
        this.method() //执行method方法，即执行Parent所指向的对象函数
        delete this.method //销毁method属性此时child已经有了parent的所有属性和方法
        this.say = function() {
            console.log(this.name)
        }
    }

    let Stu = new Student("xm", 18)
    Stu.type = "人"
    Student.abc = "abc"
    console.log(Stu)

    // console.log(Stu.__proto__.constructor.abc)
    //l / Student:类
    //l / new Student("小明·，18，‘男)实例
    //通过原型添加的方法和属性，也称之为成员属性和方法（原型属性和方法)/成员方法和成员属性可以被继承
    //类直接添加的属性和方法,称之为静态属性和方法﹑实例无法访问︰只能通过类访问
    // xiaoming._proto_.constructor === Studentl /
    // xiaoming._proto__ === Student.prototype。。
</script>